﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using Telerik.WinControls.UI;
using System.IO;
using Bitis_KeToanThue_Pro_DungChung.Common;
using Bitis_KeToanThue_Pro_DanhMuc.AccessDatabase;

namespace Bitis_KeToanThue_Pro_DanhMuc.Form
{
    public partial class frmDanhMucPT : Telerik.WinControls.UI.RadForm
    {
        DanhMucPT dmpt=new DanhMucPT();
        private int mapt;
        public frmDanhMucPT()
        {
            InitializeComponent();
        }
        private void loadluoi()
        {
            grvPT.DataSource = dmpt.load_grid();
        }
        private void radButton1_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btSoanLai_Click(object sender, EventArgs e)
        {
            txtDVT.Text = "";
            txtTen.Text = "";
        }
        private void khoitaoluoi()
        {
            var chon = new GridViewCheckBoxColumn();
            chon.HeaderText = "Chọn";
            chon.IsVisible = true;
            chon.Width = 30;
            chon.TextAlignment = ContentAlignment.MiddleCenter;
            grvPT.Columns.Add(chon);

            var ma = new GridViewTextBoxColumn();
            ma.HeaderText = "Mã CCLĐ và PTTT";
            ma.FieldName = "MaPT";
            ma.Width = 100;
            ma.IsVisible = true;
            ma.ReadOnly = true;
            ma.TextAlignment = ContentAlignment.MiddleCenter;
            grvPT.Columns.Add(ma);

            var ten = new GridViewTextBoxColumn();
            ten.FieldName = "TenPT";
            ten.HeaderText = "Tên CCLĐ và PTTT";
            ten.IsVisible = true;
            ten.Width = 300;
            ten.TextAlignment = ContentAlignment.MiddleCenter;
            ten.ReadOnly = true;
            grvPT.Columns.Add(ten);

            var dvt = new GridViewTextBoxColumn();
            dvt.HeaderText = "Đơn vị tính";
            dvt.FieldName = "DVT";
            dvt.Width = 100;
            dvt.IsVisible = true;
            dvt.ReadOnly = true;
            dvt.TextAlignment = ContentAlignment.MiddleCenter;
            grvPT.Columns.Add(dvt);
        }
        private void reset()
        {
            txtDVT.Text = "";
            txtTen.Text = "";
        }
        private void frmDanhMucPT_Load(object sender, EventArgs e)
        {
            reset();
            khoitaoluoi();
            loadluoi();
        }

        private void btThem_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtTen.Text) && !string.IsNullOrEmpty(txtDVT.Text))
            {
                if(dmpt.them(txtTen.Text,txtDVT.Text)==1)
                {
                    RadMessageBox.Show("Lưu thành công", "Thông báo", MessageBoxButtons.OK, RadMessageIcon.Info);
                    reset();
                    loadluoi();
                }
            }
            else
            {
                RadMessageBox.Show("Bạn phải nhập đầy đủ thông tin", "Thông báo", MessageBoxButtons.OK, RadMessageIcon.Info);
            }
        }

        private void txtTimKiem_TextChanged(object sender, EventArgs e)
        {

            ClassXuLyChung.tuychontimkiemtrenluoi(txtTimKiem, grvPT, 1, 0);
        }

        private void btSua_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtTen.Text) && !string.IsNullOrEmpty(txtDVT.Text))
            {
                if(dmpt.sua(mapt,txtTen.Text,txtDVT.Text)==1)
                {
                    RadMessageBox.Show("Lưu thành công", "Thông báo", MessageBoxButtons.OK, RadMessageIcon.Info);
                    reset();
                    loadluoi();
                }
            }
            else
            {
                RadMessageBox.Show("Bạn phải nhập đầy đủ thông tin", "Thông báo", MessageBoxButtons.OK, RadMessageIcon.Info);
            }
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            DialogResult thongbao = RadMessageBox.Show("Bạn có chắc muốn xóa mục này không ?", "Thông báo", MessageBoxButtons.YesNo, RadMessageIcon.Info);
            if (thongbao == DialogResult.Yes)
            {
                for (int i = 0; i < grvPT.Rows.Count; i++)
                {
                    if (grvPT.Rows[i].Cells[0].Value !=null)
                    {
                        bool ischecked = (bool)grvPT.Rows[i].Cells[0].Value;
                        if (ischecked == true)
                        {
                            dmpt.xoa(mapt);
                        }
                    }
                }
                RadMessageBox.Show("Xóa Thành Công ", "Thông Báo ", MessageBoxButtons.OK, RadMessageIcon.Info);
                reset();
                loadluoi();
            }
        }

        private void grvPT_CellClick(object sender, GridViewCellEventArgs e)
        {
            load_texbox(grvPT.CurrentRow);
        }
        private void load_texbox(GridViewRowInfo currentRow)
        {
            if (currentRow != null && !(currentRow is GridViewNewRowInfo))
            {
                txtTen.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["TenPT"].Value);
                txtDVT.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["DVT"].Value);
                mapt = int.Parse(ClassXuLyChung.GetSafeString(currentRow.Cells["MaPT"].Value.ToString()))
;
            }
            else
            {
                reset();
            }
        }

    }
}
